Overview | Package | Class | Tree | Deprecated | Index | Help
| Oracle® OLAP Java API Reference 10g Release 2 (10.2) B14348-02
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.olapi.metadata.mdm
Class MdmCustomObjectFactory

    java.lang.Object
      |
      +--oracle.olapi.metadata.mdm.MdmCustomObjectFactory

public final class MdmCustomObjectFactory
extends java.lang.Object

An object that creates custom `MdmObject` or `MtmValueExpression` objects, such as an `MdmMeasure`, `MdmStandardDimension`, `MdmTimeMember` or `MtmCustomExpression`. You get an `MdmCustomObjectFactory` with the `getMdmCustomObjectFactory` method of the `MdmMetadataProvider` you are using. The custom objects exist only for the life of the `MdmMetadataProvider`, so that when you close your connection these transient objects no longer exist.

For the methods that return a custom `MdmAttribute`, `MdmLevel`, or `MdmMeasure` and that take a `String` as the `expression` parameter, Oracle OLAP uses the `String` to construct an `MtmCustomExpression` with the appropriate SQL data type.

For the methods such as `createStringMeasure`, the `cube` parameter is an `MtmPartitionedCube` that provides the dimensionality of the custom measure, and the `expression` parameter is an `MtmValueExpression` that provides the data of the measure. You get an `MtmPartitionedCube` with the `getCube` method of the `MtmMeasureMap` returned by the `getMeasureMap` method of an existing `MdmMeasure`. You get an `MtmValueExpression` with the `getMappedExpression` method of the same `MtmMeasureMap`.

For the methods that return a custom dimension member, such as `createCustomMeasure` and `createStandardCustomMember`, the `precedence` parameter specifies the order in which Oracle OLAP evaluates the `Assignment` objects of the `Model` objects for the measure or dimension. A higher precedence value indicates a higher precedence.

For the methods that return a custom `MdmLevel`, the `hierarchy` parameter must be an unsolved level hierarchy, which is an `MdmLevelHierarchy` that has an `MtmUnsolvedLevelHierarchyMap`. If the `expression` parameter specifies an `MtmValueExpression` that has an `MtmDataType` that is nullable (an `MtmDataType` whose `isNullable` method returns `true`), then the `MtmUnsolvedLevelHierarchyMap` for the `MdmLevelHierarchy` must be a skip-level hierarchy (an `MtmUnsolvedLevelHierarchyMap` whose `isSkipLevelHierarchy` method returns `true`).

For the methods that return a custom `MdmLevel` and that specify a `levelNumber` parameter, a `levelNumber` of 0 (zero) specifies the highest aggregate level of the hierarchy. The `MdmLevel` returned by the method is at the level you specify with `levelNumber`. The `MdmLevel` that previously occupied that position in the hierarchy and all `MdmLevel` objects below it move down one position.

For the methods that return a custom `MdmLevel` and that specify a `parentLevel` parameter, the `MdmLevel` returned by the method occupies the position under the parent level, and any levels that were already below the parent level move down one position. For example, if the hierarchy has four levels, named `TOTAL_PRODUCT`, `CLASS`, `FAMILY`, and `ITEM`, and you call a `createNumericLevel` method using a `name` of `GROUP` and a `levelNumber` of `1`, or a `parentLevel` of `TOTAL_PRODUCT`, then after the method completes the `MdmLevelHierarchy` has five levels, and the `CLASS`, `FAMILY`, and `ITEM` levels, which were the second, third, and fourth levels in the old hierarchy are now the third, fourth, and fifth levels, and `GROUP` is the second level.

Method Summary
`MdmAttribute` | `createBooleanAttribute(java.lang.String name, MdmPrimaryDimension dimension, MtmValueExpression expression)` Creates a custom `MdmAttribute` that has a data type of Boolean, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmAttribute` | `createBooleanAttribute(java.lang.String name, MdmPrimaryDimension dimension, java.lang.String expression)` Creates a custom `MdmAttribute` that has a data type of Boolean, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmLevel` | `createBooleanLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`.
`MdmLevel` | `createBooleanLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
`MdmLevel` | `createBooleanLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`.
`MdmLevel` | `createBooleanLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
`MdmMeasure` | `createBooleanMeasure(java.lang.String name, MtmPartitionedCube cube, MtmValueExpression expression)` Creates a custom `MdmMeasure` that has a data type of Boolean, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MdmMeasure` | `createBooleanMeasure(java.lang.String name, MtmPartitionedCube cube, java.lang.String expression)` Creates a custom `MdmMeasure` that has a data type of Boolean, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MtmColumnExpression` | `createColumnExpression(java.lang.String columnName)` Creates a custom `MtmColumnExpression` with the specified name.
`MtmCustomExpression` | `createCustomExpression(java.lang.String expression)` Deprecated. As of Oracle9i, Release 2 (9.2.0.5); replaced by ``createCustomExpression(String expression, MetadataObject datatype)``.
`MtmCustomExpression` | `createCustomExpression(java.lang.String expression, MetadataObject datatype)` Creates an `MtmCustomExpression` of the specified data type based on the specified expression.
`MdmMeasure` | `createCustomMeasure(java.lang.String name, MdmMeasureDimension dim, MdmSchema schema, Source source, int precedence)` Creates a custom `MdmMeasure` for the specified `MdmMeasureDimension` and `MdmSchema`.
`MdmMeasure` | `createCustomMeasure(java.lang.String name, MdmMeasureDimension dim, Source source, int precedence)` Creates a custom `MdmMeasure` as a member of the specified `MdmMeasureDimension`.
`MdmMeasure` | `createCustomMeasure(java.lang.String name, Source source, int precedence)` Creates a custom `MdmMeasure` and adds it to the `MdmMeasureDimension` of the root `MdmSchema`.
`MdmAttribute` | `createDateAttribute(java.lang.String name, MdmPrimaryDimension dimension, MtmValueExpression expression)` Creates a custom `MdmAttribute` that has a data type of Date, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmAttribute` | `createDateAttribute(java.lang.String name, MdmPrimaryDimension dimension, java.lang.String expression)` Creates a custom `MdmAttribute` that has a data type of Date, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmLevel` | `createDateLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`.
`MdmLevel` | `createDateLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
`MdmLevel` | `createDateLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`.
`MdmLevel` | `createDateLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
`MdmMeasure` | `createDateMeasure(java.lang.String name, MtmPartitionedCube cube, MtmValueExpression expression)` Creates a custom `MdmMeasure` that has a data type of Date, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MdmMeasure` | `createDateMeasure(java.lang.String name, MtmPartitionedCube cube, java.lang.String expression)` Creates a custom `MdmMeasure` that has a data type of Date, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MdmAttribute` | `createEndDateAttribute(MdmTimeDimension timeDimension, MtmValueExpression defaultExpression)` Creates a custom `MdmAttribute` as the end date attribute for the specified `MdmTimeDimension`.
`MdmLevelHierarchy` | `createLevelHierarchy(java.lang.String name, MdmPrimaryDimension primaryDimension, MdmLevelHierarchy prototype)` Creates a custom `MdmLevelHierarchy` that is initially a copy of the hierarchy specified by `prototype`, which must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
`MdmMeasureDimension` | `createMeasureDimension(java.lang.String name)` Creates a custom `MdmMeasureDimension` that has no measures.
`MdmAttribute` | `createNumericAttribute(java.lang.String name, MdmPrimaryDimension dimension, MtmValueExpression expression)` Creates a custom `MdmAttribute` that has a data type of Number, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmAttribute` | `createNumericAttribute(java.lang.String name, MdmPrimaryDimension dimension, java.lang.String expression)` Creates a custom `MdmAttribute` that has a data type of Number, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmLevel` | `createNumericLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy` at the level specified by `levelNumber`, and has the values specified by `expression`.
`MdmLevel` | `createNumericLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
`MdmLevel` | `createNumericLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy` at the level specified by `levelNumber`, and has the values specified by `expression`.
`MdmLevel` | `createNumericLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`.
`MdmMeasure` | `createNumericMeasure(java.lang.String name, MtmPartitionedCube cube, MtmValueExpression expression)` Creates a custom `MdmMeasure` that has a data type of Number, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MdmMeasure` | `createNumericMeasure(java.lang.String name, MtmPartitionedCube cube, java.lang.String expression)` Creates a custom `MdmMeasure` that has a data type of Number, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MdmSchema` | `createSchema(java.lang.String name)` Creates a custom `MdmSchema` that you can add as a subschema to another schema with the ``addSubSchema`` method of the other schema.
`MdmLevelHierarchy` | `createSolvedLevelHierarchy(java.lang.String name, MdmPrimaryDimension primaryDimension, MtmTabularSource table, MtmValueExpression gidExpression, MtmValueExpression etExpression, MtmValueExpression parentGIDExpression, MtmValueExpression parentETExpression)` Creates a custom `MdmLevelHierarchy` as a component of the specified `MdmPrimaryDimension`; the custom hierarchy has an `MtmSolvedLevelHierarchyMap` that maps it to the relational database table or view specified by `table`.
`MdmStandardMember` | `createStandardCustomMember(java.lang.String name, MdmStandardDimension dim, MdmLevel level, java.lang.String parent, MdmLevel parentLevel, Source source, int precedence)` Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmStandardDimension`; the member has the specified parent at the specified level.
`MdmStandardMember` | `createStandardCustomMember(java.lang.String name, MdmStandardDimension dim, MdmLevel level, java.lang.String parent, Source source, int precedence)` Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmStandardDimension`; the member has the specified parent at the level that is one level above the level of the custom member.
`MdmStandardMember` | `createStandardCustomMember(java.lang.String name, MdmStandardDimension dim, MdmValueHierarchy valueHier, Source source, int precedence)` Creates a custom dimension member of an `MdmValueHierarchy` and adds the member to an `MdmStandardDimension`.
`MdmStandardDimension` | `createStandardDimension(java.lang.String name)` Creates a custom `MdmStandardDimension` that is invalid until you add one or more `MdmHierarchy` objects to it with a method such as ``createLevelHierarchy`` or ``createValueHierarchy``.
`MdmAttribute` | `createStringAttribute(java.lang.String name, MdmPrimaryDimension dimension, MtmValueExpression expression)` Creates a custom `MdmAttribute` that has a data type of String, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmAttribute` | `createStringAttribute(java.lang.String name, MdmPrimaryDimension dimension, java.lang.String expression)` Creates a custom `MdmAttribute` that has a data type of String, is dimensioned by `dimension`, and has the data specified by `expression`.
`MdmLevel` | `createStringLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`.
`MdmLevel` | `createStringLevel(java.lang.String name, MdmLevelHierarchy hierarchy, MtmValueExpression expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
`MdmLevel` | `createStringLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, int levelNumber)` Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`.
`MdmLevel` | `createStringLevel(java.lang.String name, MdmLevelHierarchy hierarchy, java.lang.String expression, MdmLevel parentLevel)` Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
`MdmMeasure` | `createStringMeasure(java.lang.String name, MtmPartitionedCube cube, MtmValueExpression expression)` Creates a custom `MdmMeasure` that has a data type of String, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MdmMeasure` | `createStringMeasure(java.lang.String name, MtmPartitionedCube cube, java.lang.String expression)` Creates a custom `MdmMeasure` that has a data type of String, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
`MdmTimeMember` | `createTimeCustomMember(java.lang.String name, MdmTimeDimension dim, MdmLevel level, java.lang.String parent, java.util.Date endDate, int timeSpan, Source source, int precedence)` Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmTimeDimension`; the member has the specified parent at the level that is one level above the level of the custom member.
`MdmTimeMember` | `createTimeCustomMember(java.lang.String name, MdmTimeDimension dim, MdmLevel level, java.lang.String parent, MdmLevel parentLevel, java.util.Date endDate, int timeSpan, Source source, int precedence)` Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmTimeDimension`; the member has the specified parent at the specified level.
`MdmTimeMember` | `createTimeCustomMember(java.lang.String name, MdmTimeDimension dim, MdmValueHierarchy valueHier, java.util.Date endDate, int timeSpan, Source source, int precedence)` Creates a custom dimension member of an `MdmValueHierarchy` and adds the member to an `MdmTimeDimension`.
`MdmTimeDimension` | `createTimeDimension(java.lang.String name)` Creates a custom `MdmTimeDimension` that is invalid until you add to it one or more `MdmHierarchy` objects, and end date and time span attributes.
`MdmAttribute` | `createTimeSpanAttribute(MdmTimeDimension timeDimension, MtmValueExpression defaultExpression)` Creates a custom `MdmAttribute` as the time span attribute for the specified `MdmTimeDimension`.
`MdmLevelHierarchy` | `createUnsolvedLevelHierarchy(java.lang.String name, MdmPrimaryDimension primaryDimension, MtmTabularSource table)` Creates a custom `MdmLevelHierarchy` as a component of the specified `MdmPrimaryDimension`; the custom hierarchy has an `MtmUnsolvedLevelHierarchyMap` that maps it to the relational database table or view specified by `table`.
`MdmValueHierarchy` | `createValueHierarchy(java.lang.String name, MdmPrimaryDimension primaryDimension, MdmLevelHierarchy levelHierarchy)` Creates a custom `MdmValueHierarchy` that is initially a copy of the hierarchy specified by `levelHierarchy`, which must be mapped to an `MtmSolvedLevelHierarchyMap`.
`MdmMetadataProvider` | `getMdmMetadataProvider()` Gets the `MdmMetadataProvider` that provided this `MdmCustomObjectFactory`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### createNumericMeasure

    public MdmMeasure createNumericMeasure(java.lang.String name,
                                           MtmPartitionedCube cube,
                                           MtmValueExpression expression)

  Creates a custom `MdmMeasure` that has a data type of Number, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - The `MtmValueExpression` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of Number.

### createNumericMeasure

    public MdmMeasure createNumericMeasure(java.lang.String name,
                                           MtmPartitionedCube cube,
                                           java.lang.String expression)

  Creates a custom `MdmMeasure` that has a data type of Number, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - A `String` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of Number.

### createDateMeasure

    public MdmMeasure createDateMeasure(java.lang.String name,
                                        MtmPartitionedCube cube,
                                        MtmValueExpression expression)

  Creates a custom `MdmMeasure` that has a data type of Date, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - The `MtmValueExpression` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of Date.

### createDateMeasure

    public MdmMeasure createDateMeasure(java.lang.String name,
                                        MtmPartitionedCube cube,
                                        java.lang.String expression)

  Creates a custom `MdmMeasure` that has a data type of Date, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - A `String` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of Date.

### createStringMeasure

    public MdmMeasure createStringMeasure(java.lang.String name,
                                          MtmPartitionedCube cube,
                                          MtmValueExpression expression)

  Creates a custom `MdmMeasure` that has a data type of String, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - The `MtmValueExpression` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of String.

### createStringMeasure

    public MdmMeasure createStringMeasure(java.lang.String name,
                                          MtmPartitionedCube cube,
                                          java.lang.String expression)

  Creates a custom `MdmMeasure` that has a data type of String, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - A `String` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of String.

### createBooleanMeasure

    public MdmMeasure createBooleanMeasure(java.lang.String name,
                                           MtmPartitionedCube cube,
                                           MtmValueExpression expression)

  Creates a custom `MdmMeasure` that has a data type of Boolean, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - The `MtmValueExpression` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of Boolean.

### createBooleanMeasure

    public MdmMeasure createBooleanMeasure(java.lang.String name,
                                           MtmPartitionedCube cube,
                                           java.lang.String expression)

  Creates a custom `MdmMeasure` that has a data type of Boolean, the specified name, the dimensionality defined by `cube`, and the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmMeasure`.
    `cube` - The `MtmPartitionedCube` that holds the dimension combinations for the custom `MdmMeasure`.
    `expression` - A `String` that specifies the data for the custom `MdmMeasure`.
  Returns:
    A custom `MdmMeasure` with a data type of Boolean.

### createNumericAttribute

    public MdmAttribute createNumericAttribute(java.lang.String name,
                                               MdmPrimaryDimension dimension,
                                               MtmValueExpression expression)

  Creates a custom `MdmAttribute` that has a data type of Number, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - The `MtmValueExpression` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of Number.

### createNumericAttribute

    public MdmAttribute createNumericAttribute(java.lang.String name,
                                               MdmPrimaryDimension dimension,
                                               java.lang.String expression)

  Creates a custom `MdmAttribute` that has a data type of Number, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of Number.

### createDateAttribute

    public MdmAttribute createDateAttribute(java.lang.String name,
                                            MdmPrimaryDimension dimension,
                                            MtmValueExpression expression)

  Creates a custom `MdmAttribute` that has a data type of Date, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - The `MtmValueExpression` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of Date.

### createDateAttribute

    public MdmAttribute createDateAttribute(java.lang.String name,
                                            MdmPrimaryDimension dimension,
                                            java.lang.String expression)

  Creates a custom `MdmAttribute` that has a data type of Date, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of Date.

### createStringAttribute

    public MdmAttribute createStringAttribute(java.lang.String name,
                                              MdmPrimaryDimension dimension,
                                              MtmValueExpression expression)

  Creates a custom `MdmAttribute` that has a data type of String, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of String.

### createStringAttribute

    public MdmAttribute createStringAttribute(java.lang.String name,
                                              MdmPrimaryDimension dimension,
                                              java.lang.String expression)

  Creates a custom `MdmAttribute` that has a data type of String, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of String.

### createBooleanAttribute

    public MdmAttribute createBooleanAttribute(java.lang.String name,
                                               MdmPrimaryDimension dimension,
                                               MtmValueExpression expression)

  Creates a custom `MdmAttribute` that has a data type of Boolean, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of Boolean.

### createBooleanAttribute

    public MdmAttribute createBooleanAttribute(java.lang.String name,
                                               MdmPrimaryDimension dimension,
                                               java.lang.String expression)

  Creates a custom `MdmAttribute` that has a data type of Boolean, is dimensioned by `dimension`, and has the data specified by `expression`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmAttribute`.
    `dimension` - The `MdmPrimaryDimension` that dimensions the custom `MdmAttribute`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
  Returns:
    A custom `MdmAttribute` with a data type of Boolean.

### createEndDateAttribute

    public MdmAttribute createEndDateAttribute(MdmTimeDimension timeDimension,
                                               MtmValueExpression defaultExpression)

  Creates a custom `MdmAttribute` as the end date attribute for the specified `MdmTimeDimension`.
  Parameters:
    `timeDimension` - The `MdmTimeDimension` for which you want to specify a custom end date attribute.
    `defaultExpression` - An `MtmValueExpression` that specifies the end date values for the `MdmAttribute` returned by this method. The expression must have the Date data type, and it must be a constant expression or it must be based on columns that appear in the tables of all of the hierarchies in the `MdmTimeDimension`.
  Returns:
    An `MdmAttribute` that is the end date attribute dimensioned by `timeDimension`.
  See Also:
    `MdmTimeDimension.getEndDateAttribute()`

### createTimeSpanAttribute

    public MdmAttribute createTimeSpanAttribute(MdmTimeDimension timeDimension,
                                                MtmValueExpression defaultExpression)

  Creates a custom `MdmAttribute` as the time span attribute for the specified `MdmTimeDimension`.
  Parameters:
    `timeDimension` - The `MdmTimeDimension` for which you want to specify a custom time span attribute.
    `defaultExpression` - An `MtmValueExpression` that specifies the time span values for the `MdmAttribute` returned by this method. The expression must have the Date data type, and it must be a constant expression or it must be based on columns that appear in the tables of all of the hierarchies in the `MdmTimeDimension`.
  Returns:
    An `MdmAttribute` that is the time span attribute dimensioned by `timeDimension`.
  See Also:
    `MdmTimeDimension.getTimeSpanAttribute()`

### createNumericLevel

    public MdmLevel createNumericLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       MtmValueExpression expression,
                                       int levelNumber)

  Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy` at the level specified by `levelNumber`, and has the values specified by `expression`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `levelNumber` - An integer that specifies the position of the custom level in the hierarchy.
  Returns:
    A custom `MdmLevel` that has a data type of Number and that is a component of the specified hierarchy.

### createNumericLevel

    public MdmLevel createNumericLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       java.lang.String expression,
                                       int levelNumber)

  Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy` at the level specified by `levelNumber`, and has the values specified by `expression`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
    `levelNumber` - An integer that specifies the position of the new level in the hierarchy.
  Returns:
    A custom `MdmLevel` that has a data type of Number and that is a component of the specified hierarchy.

### createNumericLevel

    public MdmLevel createNumericLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       MtmValueExpression expression,
                                       MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the new `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of Number and that is a component of the specified hierarchy.

### createNumericLevel

    public MdmLevel createNumericLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       java.lang.String expression,
                                       MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of Number, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of Number and that is a component of the specified hierarchy.

### createStringLevel

    public MdmLevel createStringLevel(java.lang.String name,
                                      MdmLevelHierarchy hierarchy,
                                      MtmValueExpression expression,
                                      int levelNumber)

  Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `levelNumber` - An integer that specifies the position of the new level in the hierarchy.
  Returns:
    A custom `MdmLevel` that has a data type of String and that is a component of the specified hierarchy.

### createStringLevel

    public MdmLevel createStringLevel(java.lang.String name,
                                      MdmLevelHierarchy hierarchy,
                                      java.lang.String expression,
                                      int levelNumber)

  Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmAttribute`.
    `levelNumber` - An integer that specifies the position of the new level in the hierarchy.
  Returns:
    A custom `MdmLevel` that has a data type of String and that is a component of the specified hierarchy.

### createStringLevel

    public MdmLevel createStringLevel(java.lang.String name,
                                      MdmLevelHierarchy hierarchy,
                                      MtmValueExpression expression,
                                      MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the new `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of String and that is a component of the specified hierarchy.

### createStringLevel

    public MdmLevel createStringLevel(java.lang.String name,
                                      MdmLevelHierarchy hierarchy,
                                      java.lang.String expression,
                                      MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of String, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the new `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of String and that is a component of the specified hierarchy.

### createDateLevel

    public MdmLevel createDateLevel(java.lang.String name,
                                    MdmLevelHierarchy hierarchy,
                                    MtmValueExpression expression,
                                    int levelNumber)

  Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `levelNumber` - An integer that specifies the position of the new level in the hierarchy.
  Returns:
    A custom `MdmLevel` that has a data type of Date and that is a component of the specified hierarchy.

### createDateLevel

    public MdmLevel createDateLevel(java.lang.String name,
                                    MdmLevelHierarchy hierarchy,
                                    java.lang.String expression,
                                    int levelNumber)

  Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of Date and that is a component of the specified hierarchy.

### createDateLevel

    public MdmLevel createDateLevel(java.lang.String name,
                                    MdmLevelHierarchy hierarchy,
                                    MtmValueExpression expression,
                                    MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the new `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of Date and that is a component of the specified hierarchy.

### createDateLevel

    public MdmLevel createDateLevel(java.lang.String name,
                                    MdmLevelHierarchy hierarchy,
                                    java.lang.String expression,
                                    MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of Date, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the new `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of Date and that is a component of the specified hierarchy.

### createBooleanLevel

    public MdmLevel createBooleanLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       MtmValueExpression expression,
                                       int levelNumber)

  Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `levelNumber` - An integer that specifies the position of the new level in the hierarchy.
  Returns:
    A custom `MdmLevel` that has a data type of Boolean and that is a component of the specified hierarchy.

### createBooleanLevel

    public MdmLevel createBooleanLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       java.lang.String expression,
                                       int levelNumber)

  Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and whose members have as parents the members of `parentLevel`. The `MdmLevelHierarchy` must be mapped to an `MtmUnsolvedLevelHierarchyMap`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the custom `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmLevel`.
    `levelNumber` - An integer that specifies the position of the new level in the hierarchy.
  Returns:
    A custom `MdmLevel` that has a data type of Boolean and that is a component of the specified hierarchy.

### createBooleanLevel

    public MdmLevel createBooleanLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       MtmValueExpression expression,
                                       MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the new `MdmLevel`.
    `expression` - An `MtmValueExpression` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of Boolean and that is a component of the specified hierarchy.

### createBooleanLevel

    public MdmLevel createBooleanLevel(java.lang.String name,
                                       MdmLevelHierarchy hierarchy,
                                       java.lang.String expression,
                                       MdmLevel parentLevel)

  Creates a custom `MdmLevel` that has a data type of Boolean, is a component of the specified `MdmLevelHierarchy`, has the values specified by `expression`, and has members whose parents are the members of `parentLevel`.
  Parameters:
    `name` - A `String` specifying a name for the custom `MdmLevel`.
    `hierarchy` - The unsolved `MdmLevelHierarchy` to which you want to add the new `MdmLevel`.
    `expression` - A `String` that specifies the data for the custom `MdmLevel`.
    `parentLevel` - The `MdmLevel` that has members whose values are the parents of the values in `expression`.
  Returns:
    A custom `MdmLevel` that has a data type of Boolean and that is a component of the specified hierarchy.

### createLevelHierarchy

    public MdmLevelHierarchy createLevelHierarchy(java.lang.String name,
                                                  MdmPrimaryDimension primaryDimension,
                                                  MdmLevelHierarchy prototype)

  Creates a custom `MdmLevelHierarchy` that is initially a copy of the hierarchy specified by `prototype`, which must be mapped to an `MtmUnsolvedLevelHierarchyMap`. To customize the hierarchy returned by this method, you can add or remove levels, or change its order specification.

  Oracle OLAP creates `MtmBaseCube` objects for the custom hierarchy by copying the `MtmUnsolvedCube` objects dimensioned by `prototype`.

  Parameters:
    `name` - A `String` that specifies a name for the custom hierarchy.
    `primaryDimension` - The `MdmPrimaryDimension` of which `prototype` is a component.
    `prototype` - An `MdmLevelHierarchy` that is a component of `primaryDimension` and that is the basis of the custom hierarchy.
  Returns:
    A custom `MdmLevelHierarchy` that has the specified `name` and that is a copy of `prototype`.
  See Also:
    `MdmLevelHierarchy`

### createUnsolvedLevelHierarchy

    public MdmLevelHierarchy createUnsolvedLevelHierarchy(java.lang.String name,
                                                          MdmPrimaryDimension primaryDimension,
                                                          MtmTabularSource table)

  Creates a custom `MdmLevelHierarchy` as a component of the specified `MdmPrimaryDimension`; the custom hierarchy has an `MtmUnsolvedLevelHierarchyMap` that maps it to the relational database table or view specified by `table`.
  Parameters:
    `name` - A `String` that specifies a name for the custom hierarchy.
    `primaryDimension` - The `MdmPrimaryDimension` of which the custom hierarchy is a component.
    `table` - The `MtmTabularSource` that represents the mapping of the relational database table or view to the custom hierarchy.
  Returns:
    A custom `MdmLevelHierarchy` that has the specified `name`, is mapped to `table`, and is a component of `primaryDimension`.
  See Also:
    `MtmUnsolvedLevelHierarchyMap`

### createSolvedLevelHierarchy

    public MdmLevelHierarchy createSolvedLevelHierarchy(java.lang.String name,
                                                        MdmPrimaryDimension primaryDimension,
                                                        MtmTabularSource table,
                                                        MtmValueExpression gidExpression,
                                                        MtmValueExpression etExpression,
                                                        MtmValueExpression parentGIDExpression,
                                                        MtmValueExpression parentETExpression)

  Creates a custom `MdmLevelHierarchy` as a component of the specified `MdmPrimaryDimension`; the custom hierarchy has an `MtmSolvedLevelHierarchyMap` that maps it to the relational database table or view specified by `table`.
  Parameters:
    `name` - A `String` that specifies a name for the custom hierarchy.
    `primaryDimension` - The `MdmPrimaryDimension` of which the custom hierarchy is a component.
    `table` - The `MtmTabularSource` that represents the mapping of the relational database table or view to the custom hierarchy.
    `gidExpression` - A GID column for the `MtmSolvedLevelHierarchyMap`.
    `etExpression` - A ET column for the `MtmSolvedLevelHierarchyMap`.
    `parentGIDExpression` - A parent GID column for the `MtmSolvedLevelHierarchyMap`.
    `parentETExpression` - A parent ET column for the `MtmSolvedLevelHierarchyMap`.
  Returns:
    A custom `MdmLevelHierarchy` that has the specified `name`, is mapped to `table` and the specified columns, and is a component of `primaryDimension`.
  See Also:
    `MtmSolvedLevelHierarchyMap`

### createValueHierarchy

    public MdmValueHierarchy createValueHierarchy(java.lang.String name,
                                                  MdmPrimaryDimension primaryDimension,
                                                  MdmLevelHierarchy levelHierarchy)

  Creates a custom `MdmValueHierarchy` that is initially a copy of the hierarchy specified by `levelHierarchy`, which must be mapped to an `MtmSolvedLevelHierarchyMap`. The custom hierarchy is a component of `primaryDimension`.

  Oracle OLAP creates `MtmBaseCube` objects for the custom hierarchy by copying the `MtmSolvedCube` objects dimensioned by `levelHierarchy`.

  Parameters:
    `name` - A `String` that specifies a name for the custom hierarchy.
    `primaryDimension` - The `MdmPrimaryDimension` of which `levelHierarchy` is a component.
    `levelHierarchy` - An `MdmLevelHierarchy` that is a component of `primaryDimension` and that is the basis of the custom hierarchy.
  Returns:
    A custom `MdmValueHierarchy` that has the specified `name` and that is a copy of `levelHierarchy`.
  See Also:
    `MdmValueHierarchy`

### createStandardDimension

    public MdmStandardDimension createStandardDimension(java.lang.String name)

  Creates a custom `MdmStandardDimension` that is invalid until you add one or more `MdmHierarchy` objects to it with a method such as ``createLevelHierarchy`` or ``createValueHierarchy``.
  Parameters:
    `name` - A `String` that specifies a name for the `MdmStandardDimension`.
  Returns:
    An `MdmStandardDimension` that has the specified `name`.
  See Also:
    `MdmStandardDimension`

### createTimeDimension

    public MdmTimeDimension createTimeDimension(java.lang.String name)

  Creates a custom `MdmTimeDimension` that is invalid until you add to it one or more `MdmHierarchy` objects, and end date and time span attributes.
  Parameters:
    `name` - A `String` that specifies a name for the `MdmTimeDimension`.
  Returns:
    An `MdmTimeDimension` that has the specified `name`.
  See Also:
    `MdmTimeDimension`

### createMeasureDimension

    public MdmMeasureDimension createMeasureDimension(java.lang.String name)

  Creates a custom `MdmMeasureDimension` that has no measures. You add measures to the measure dimension by calling its `addMeasure` method.

  This class exists for completeness of the MDM model. In the current model, an OLAP API application developer does not need to create an `MdmMeasureDimension`. When you create a custom `MdmSchema`, Oracle OLAP automatically creates an `MdmMeasureDimension` for it that has a `List` of its `MdmMeasure` objects.

  When you want to have a `Source` whose element values are `MdmMeasure` objects, you can create one with the `createListSource` method of the `DataProvider` that you are using. For an example of creating such a `Source`, see the ``Source.extract`` method.

  Parameters:
    `name` - A `String` that specifies a name for the `MdmMeasureDimension`.
  Returns:
    An `MdmMeasureDimension` with the specified name and no measures.

### createStandardCustomMember

    public MdmStandardMember createStandardCustomMember(java.lang.String name,
                                                        MdmStandardDimension dim,
                                                        MdmLevel level,
                                                        java.lang.String parent,
                                                        Source source,
                                                        int precedence)

  Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmStandardDimension`; the member has the specified parent at the level that is one level above the level of the custom member.
  Parameters:
    `name` - A `String` that contains a name for the member.
    `dim` - The `MdmStandardDimension` to which you want to add the member.
    `level` - The `MdmLevel` to which you want the member to belong.
    `parent` - A `String` that contains the local value of the parent of the member. The parent must be a member of the level that is one level above the level to which the custom member belongs.
    `source` - A `Source` that specifies the value of the custom member; this value is the measure value that is specified by the custom member for an `MdmMeasure` that is dimensioned by the `MdmStandardDimension`.
    `precedence` - An integer that specifies the precedence for the custom member.
  Returns:
    The `MdmStandardMember` that is a custom member of the level and the dimension.

### createStandardCustomMember

    public MdmStandardMember createStandardCustomMember(java.lang.String name,
                                                        MdmStandardDimension dim,
                                                        MdmLevel level,
                                                        java.lang.String parent,
                                                        MdmLevel parentLevel,
                                                        Source source,
                                                        int precedence)

  Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmStandardDimension`; the member has the specified parent at the specified level.
  Parameters:
    `name` - A `String` that contains a name for the member.
    `dim` - The `MdmStandardDimension` to which you want to add the member.
    `level` - The `MdmLevel` to which you want the member to belong.
    `parent` - A `String` that contains the local value of the parent of the member.
    `parentLevel` - The `MdmLevel` to which the parent of the member belongs.
    `source` - A `Source` that specifies the value of the custom member; this value is the measure value that is specified by the custom member for an `MdmMeasure` that is dimensioned by the `MdmStandardDimension`.
    `precedence` - An integer that specifies the precedence for the custom member.
  Returns:
    The `MdmStandardMember` that is a custom member of the level and the dimension.

### createStandardCustomMember

    public MdmStandardMember createStandardCustomMember(java.lang.String name,
                                                        MdmStandardDimension dim,
                                                        MdmValueHierarchy valueHier,
                                                        Source source,
                                                        int precedence)

  Creates a custom dimension member of an `MdmValueHierarchy` and adds the member to an `MdmStandardDimension`. A custom member of an `MdmValueHierarchy` does not have a parent.
  Parameters:
    `name` - A `String` that contains a name for the member.
    `dim` - The `MdmStandardDimension` to which you want to add the member.
    `valueHier` - The `MdmValueHierarchy` to which you want the member to belong.
    `source` - A `Source` that specifies the value of the custom member; this value is the measure value that is specified by the custom member for an `MdmMeasure` that is dimensioned by the `MdmStandardDimension`.
    `precedence` - An integer that specifies the precedence for the custom member.
  Returns:
    The `MdmStandardMember` that is a custom member of the value hierarchy and the dimension.

### createTimeCustomMember

    public MdmTimeMember createTimeCustomMember(java.lang.String name,
                                                MdmTimeDimension dim,
                                                MdmLevel level,
                                                java.lang.String parent,
                                                java.util.Date endDate,
                                                int timeSpan,
                                                Source source,
                                                int precedence)

  Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmTimeDimension`; the member has the specified parent at the level that is one level above the level of the custom member.
  Parameters:
    `name` - A `String` that contains a name for the `MdmTimeMember`.
    `dim` - The `MdmTimeDimension` to which to add the custom member.
    `level` - The `MdmLevel` to which you want the custom member to belong.
    `parent` - A `String` that contains the local value of the parent of the member. The parent must be a member of the level that is one level above the level to which the custom member belongs.
    `endDate` - A `Date` that specifies the end date for the custom member.
    `timeSpan` - An `int` that specifies the number of time periods that are the time span of the custom member.
    `source` - A `Source` that specifies the value of the custom member; this value is the measure value that is specified by the custom member for an `MdmMeasure` that is dimensioned by the `MdmTimeDimension`.
    `precedence` - An integer that specifies the precedence for the custom member.
  Returns:
    The `MdmTimeMember` that is a custom member of the level and the dimension.

### createTimeCustomMember

    public MdmTimeMember createTimeCustomMember(java.lang.String name,
                                                MdmTimeDimension dim,
                                                MdmLevel level,
                                                java.lang.String parent,
                                                MdmLevel parentLevel,
                                                java.util.Date endDate,
                                                int timeSpan,
                                                Source source,
                                                int precedence)

  Creates a custom dimension member for an `MdmLevel` and adds the member to an `MdmTimeDimension`; the member has the specified parent at the specified level.
  Parameters:
    `name` - A `String` that contains a name for the `MdmTimeMember`.
    `dim` - The `MdmTimeDimension` to which to add the custom member.
    `level` - The `MdmLevel` to which you want the custom member to belong.
    `parent` - A `String` that contains the local value of the parent of the member.
    `parentLevel` - The `MdmLevel` to which the parent of the member belongs.
    `endDate` - A `Date` that specifies the end date for the custom member.
    `timeSpan` - An `int` that specifies the number of time periods that are the time span of the custom member.
    `source` - A `Source` that specifies the value of the custom member; this value is the measure value that is specified by the custom member for an `MdmMeasure` that is dimensioned by the `MdmTimeDimension`.
    `precedence` - An integer that specifies the precedence for the custom member.
  Returns:
    The `MdmTimeMember` that is a custom member of the level and the dimension.

### createTimeCustomMember

    public MdmTimeMember createTimeCustomMember(java.lang.String name,
                                                MdmTimeDimension dim,
                                                MdmValueHierarchy valueHier,
                                                java.util.Date endDate,
                                                int timeSpan,
                                                Source source,
                                                int precedence)

  Creates a custom dimension member of an `MdmValueHierarchy` and adds the member to an `MdmTimeDimension`. A custom member of an `MdmValueHierarchy` does not have a parent.
  Parameters:
    `name` - A `String` that contains a name for the `MdmTimeMember`.
    `valueHier` - The `MdmValueHierarchy` to which you want the custom member to belong.
    `endDate` - A `Date` that specifies the end date for the custom member.
    `timeSpan` - An integer that specifies the number of time periods that are the time span of the custom member.
    `source` - A `Source` that specifies the value of the custom member; this value is the measure value that is specified by the custom member for an `MdmMeasure` that is dimensioned by the `MdmTimeDimension`.
    `precedence` - An integer that specifies the precedence for the custom member.
  Returns:
    The `MdmTimeMember` that is a custom member of the value hierarchy and the dimension.

### createCustomMeasure

    public MdmMeasure createCustomMeasure(java.lang.String name,
                                          Source source,
                                          int precedence)

  Creates a custom `MdmMeasure` and adds it to the `MdmMeasureDimension` of the root `MdmSchema`.
  Parameters:
    `name` - A `String` that contains a name for the custom `MdmMeasure`.
    `source` - A `Source` that specifies the values of the custom measure.
    `precedence` - An integer that specifies the precedence for the `MdmMeasure`.
  Returns:
    The `MdmMeasure` that is a custom member of the measure dimension of the root `MdmSchema`.

### createCustomMeasure

    public MdmMeasure createCustomMeasure(java.lang.String name,
                                          MdmMeasureDimension dim,
                                          Source source,
                                          int precedence)

  Creates a custom `MdmMeasure` as a member of the specified `MdmMeasureDimension`.
  Parameters:
    `name` - A `String` that contains a name for the custom `MdmMeasure`.
    `dim` - The `MdmMeasureDimension` to which you want to add the custom measure.
    `source` - A `Source` that specifies the values of the custom measure.
    `precedence` - An integer that specifies the precedence for the `MdmMeasure`.
  Returns:
    The `MdmMeasure` that is a custom member of the schema.

### createCustomMeasure

    public MdmMeasure createCustomMeasure(java.lang.String name,
                                          MdmMeasureDimension dim,
                                          MdmSchema schema,
                                          Source source,
                                          int precedence)

  Creates a custom `MdmMeasure` for the specified `MdmMeasureDimension` and `MdmSchema`.
  Parameters:
    `name` - A `String` that contains a name for the custom `MdmMeasure`.
    `dim` - The `MdmMeasureDimension` to which you want the custom measure to belong.
    `schema` - The `MdmSchema` to which the `dim` `MdmMeasureDimension` belongs.
    `source` - A `Source` that specifies the values of the custom measure.
    `precedence` - An integer that specifies the precedence for the `MdmMeasure`.
  Returns:
    The `MdmMeasure` that is a custom member of the measure dimension and schema.

### createSchema

    public MdmSchema createSchema(java.lang.String name)

  Creates a custom `MdmSchema` that you can add as a subschema to another schema with the ``addSubSchema`` method of the other schema. For example, you could add the `MdmSchema` returned by this method to the root `MdmSchema`.

  The `MdmSchema` returned by this method has no measures or dimensions. You can add dimensions and measures to the `MdmSchema` with its `addDimension` and `addMeasure` methods.

  Parameters:
    `name` - A `String` that specifies a name for the schema.
  Returns:
    A custom `MdmSchema` that has the specified `name`.

### createColumnExpression

    public MtmColumnExpression createColumnExpression(java.lang.String columnName)

  Creates a custom `MtmColumnExpression` with the specified name. The `MtmColumnExpression` identifies a column in a relational table. When creating a custom `MdmMeasure`, you can use a custom `MtmColumnExpression` as the `expression` parameter to specify the relational column that provide the data for the custom measure.

  You can get a `String` to use as the `columnName` parameter by doing the following:

  - Get an `MtmMeasureMap` with the `getMeasureMap` method of an existing `MdmMeasure`.
  - Get an `MtmColumnExpression` with the `getMappedExpression` method of the `MtmMeasureMap`
  - Get the column name with the `getColumnName` method of the `MtmColumnExpression`

  Note that the `MtmValueExpression` for an `MdmMeasure` for an OLAP Catalog measure is always an `MtmColumnExpression`.

  Parameters:
    `columnName` - A `String` specifying the name of the relational column that specifies the data for a custom `MdmMeasure`.
  Returns:
    A custom `MtmColumnExpression`.

### createCustomExpression

    public MtmCustomExpression createCustomExpression(java.lang.String expression,
                                                      MetadataObject datatype)

  Creates an `MtmCustomExpression` of the specified data type based on the specified expression. You can use an `MtmCustomExpression` as the `expression` parameter for a method that creates a custom measure, such as `createNumericMeasure`.

  The `expression` parameter of the `createCustomExpression` method must be a constant, an expression that includes an aggregation function such as `SUM`, or any one of the components of the `GROUP BY` list of dimensions for the measure. For example, the following creates an `MtmCustomExpression` and then uses it in creating a custom `MdmMeasure`. In the example, `mdmFactory` is the `MdmCustomObjectFactory`, `dp` is the `DataProvider`, and `mtmPtCube` is the `MtmPartitionedCube` for both the `UNIT_PRICE` and `UNIT_COST` Oracle OLAP measures.

       FundamentalMetadataProvider fdp = dp.getFundamentalMetadataProvider();
       FundamentalMetadataObject numberFMO = fdp.getNumberDataType();

       MtmCustomExpression mtmCustExp =
                 mdmFactory.createCustomExpression("UNIT_PRICE - UNIT_COST",
                                                   numberFMO);
       MdmMeasure mdmCustMeasure = mdmFactory.createNumericMeasure("Markup",
                                                                   mtmPtCube,
                                                                   mtmCustExp);

  Another example uses the SQL single-row function `OLAP_EXPRESSION`, which allows you to specify an analytic workspace expression for the data. In the example, `UNITS` is a measure and `TIME` is a dimension in the analytic workspace. For information on the `OLAP_EXPRESSION` function, see the Oracle OLAP Application Developer's Guide. For information on the OLAP DML `LAG` function, see the Oracle OLAP DML Reference.

       String olapExpStr = "LAG(UNITS, 1, TIME)";
       MtmCustomExpression mtmCustExp =
       mdmFactory.createCustomExpression(
                                    "OLAP_EXPRESSION(r2c, '" + olapExpStr + "')",
                                     numberFMO));

  Parameters:
    `expression` - A `String` specifying a SQL expression that provides the data for a custom `MdmMeasure`.
    `datatype` - A `FundamentalMetadataObject` representing the datatype of the `MtmCustomExpression` returned. Oracle OLAP converts the datatype to a SQL representation using the default conversion defined by the ``MtmCustomObjectFactory``.
  Returns:
    A custom `MtmCustomExpression`.

### createCustomExpression

    public MtmCustomExpression createCustomExpression(java.lang.String expression)

  Deprecated. As of Oracle9i, Release 2 (9.2.0.5); replaced by ``createCustomExpression(String expression, MetadataObject datatype)``.

### getMdmMetadataProvider

    public final MdmMetadataProvider getMdmMetadataProvider()

  Gets the `MdmMetadataProvider` that provided this `MdmCustomObjectFactory`.
  Returns:
    The `MdmMetadataProvider` that provided this `MdmCustomObjectFactory`.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Oracle® OLAP Java API Reference 10g Release 2 (10.2) B14348-02
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002, 2005, Oracle. All rights reserved.